//package com.bbx.taxi.client.Util;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
//import android.content.Context;
//import android.os.AsyncTask;
//import android.os.Handler;
//
//import com.bbx.androidapi.util.SharedPreUtil;
//import com.bbx.api.sdk.model.comm.returns.line.Cities;
//import com.bbx.api.sdk.model.comm.returns.line.To_Cities;
//import com.bbx.api.sdk.model.official.passanger.Return.LocalCity;
//import com.bbx.api.sdk.model.official.passanger.Return.LocalCity.AllCityList;
//import com.bbx.api.sdk.model.official.passanger.Return.LocalCity.AllCityList.CityList;
//import com.bbx.api.sdk.net.base.JsonBuild;
//import com.bbx.api.util.SharedPreEncryptUtil;
//import com.bbx.taxi.client.MyApplication;
//import com.bbx.taxi.client.Bean.City;
//import com.bbx.taxi.client.Bean.Value;
//import com.bbx.taxi.client.DB.LineDB;
//import com.yanxuwen.loadview.LoadingDialog;
//
//public class ToCity {
//	static LoadingDialog loadDialog;
//	public final static int MSG_SHOW=0;
//	public final static int MSG_DISSIOM=1;
//	/**本地城市JSON*/
//	private final static String fileName = "city.json";
//	public static String split[] =new String[]{ "市","区","县"};
////	/**全部的城市列表*/
//	public static List<Cities> citieslist_CJ=new ArrayList<Cities>();
//	/**全部的市内城市列表*/
//	public static List<Cities> citieslist_SN=new ArrayList<Cities>();
//
//	/**
//	 * 获取可去城市
//	 */
//	public static ArrayList<To_Cities> getToCity(Context context, String name,
//			boolean isCity) {
//		LineDB db_line = new LineDB();
//		ArrayList<To_Cities> to_citylist = db_line.readToCityDB(name, isCity);
//		if (to_citylist == null) {
//			String name_sb=ToCity.getCityName(name);
//			to_citylist = db_line.readToCityDB(name_sb, isCity);
//			if (to_citylist == null) {
//				for(int i=0;i<split.length;i++){
//					String name_jia = name + split[i];
//					to_citylist = db_line.readToCityDB(name_jia, isCity);
//					if(to_citylist!=null)break;
//				}
//
//			}
//		}
//		return to_citylist;
//
//	}
//
//	/**
//	 * 获取线路,name去的地方，to_citylist为根据你之前的地址，可去的地方
//	 */
//	public static String getLine(ArrayList<To_Cities> to_citylist, String name) {
//		String line_id = null;
//		if (to_citylist != null)
//			for (int i = 0; i < to_citylist.size(); i++) {
//				if (name.equals(to_citylist.get(i).getCn_Name())) {
//					line_id = to_citylist.get(i).getLine_id();
//					break;
//				}
//				if (line_id == null) {
//					String name_sb=ToCity.getCityName(name);
//					if (name_sb.equals(to_citylist.get(i).getCn_Name())) {
//						line_id = to_citylist.get(i).getLine_id();
//						break;
//					}
//					if (line_id == null) {
//						for(int j=0;j<split.length;j++){
//							String name_jia = name + split[j];
//							if (name_jia.equals(to_citylist.get(i).getCn_Name())) {
//								line_id = to_citylist.get(i).getLine_id();
//								return line_id;
//							}
//						}
//					}
//				}
//			}
//		return line_id;
//	}
//
//	/**
//	 * 判断该地址是否是具体信息。如搜索厦门市的厦门北站之类的，
//	 */
//	public static String getCityDetail(Context context, String address,boolean inCity) {
//		LineDB db_line = new LineDB();
//		 List<Cities> citieslist=new ArrayList<Cities>();
//		 if(inCity){
//			 citieslist.addAll(citieslist_SN);
//		 }else{
//			 citieslist.addAll(citieslist_CJ);
//		 }
//		if(citieslist==null||citieslist.isEmpty()){
//		    citieslist.addAll(db_line.readAllDB(inCity));
//		    if(inCity){
//		    	citieslist_SN=citieslist;
//		    }else{
//		    	citieslist_CJ=citieslist;
//		    }
//		}
//		for (int i = 0; i < citieslist.size(); i++) {
//			String name = citieslist.get(i).getCn_Name();
//			String detail = citieslist.get(i).getIs_detail();
//			if (address.equals(name)) {
//				if (detail.equals(Value.CITY_DETAIL)) {
//					return name;
//				}
//			}
//			ArrayList<To_Cities> to_citylist = ToCity.getToCity(context, name,
//					inCity);
//			if (to_citylist != null) {
//				for (int j = 0; j < to_citylist.size(); j++) {
//					String to_name = to_citylist.get(j).getCn_Name();
//					String to_detail = to_citylist.get(j).getIs_detail();
//					if (address.equals(to_name)) {
//						if (to_detail.equals(Value.CITY_DETAIL)) {
//							return to_name;
//						}
//					}
//				}
//			}
//		}
//		return null;
//
//	}
//
//	/**
//	 * 设置全部城市列表
//	 */
//	public static void setCityList(final Context context,final boolean inCity) {
//		final LineDB db_line = new LineDB();
//		new Thread(new Runnable() {
//			@Override
//			public void run() {
//				List<City> cityList = new ArrayList<City>();
//				MyApplication.isCityListComplite = false;
//				List<Cities> citieslist=new ArrayList<Cities>();
//				 if(inCity){
//					 citieslist.addAll(citieslist_SN);
//				 }else{
//					 citieslist.addAll(citieslist_CJ);
//				 }
//				if(citieslist==null||citieslist.isEmpty()){
//				    citieslist.addAll(db_line.readAllDB(inCity));
//				    if(inCity){
//				    	citieslist_SN=citieslist;
//				    }else{
//				    	citieslist_CJ=citieslist;
//				    }
//				}
//				if (citieslist != null && !citieslist.isEmpty()) {
//					for (int i = 0; i < citieslist.size(); i++) {
//						boolean isAdd = true;// 判断是否添加,市内都不加
//						isAdd=isCJAdd(context,citieslist.get(i));
//						//判断是否已经加载过了
//						for (int z = 0; z < cityList.size(); z++) {
//							City city = cityList.get(z);
//							if (city.getCity().equals(
//									citieslist.get(i).getCn_Name())) {
//								isAdd = false;
//								break;
//							}
//						}
//						if (isAdd) {
//							City city = new City();
//							city.setCity(citieslist.get(i).getCn_Name());
//							city.setProvince("");// 设置省份
//							city.setNumber("");//
//							city.setAllPY(citieslist.get(i).getName());
//							city.setAllFristPY(citieslist.get(i).getAbbr());
//							if (citieslist.get(i).getName() != null)
//								city.setFirstPY(Cn2Spell
//										.getInstance()
//										.onCn2Spell(citieslist.get(i).getName())
//										.charAt(0)
//										+ "");
//							city.setIs_new(citieslist.get(i).getIs_new());
//							city.setIs_detail(citieslist.get(i).getIs_detail());
//							city.setType(City.CityType.open);
//							cityList.add(city);
//						}
//					}
//					MyApplication mApplication = MyApplication.getInstance();
//					mApplication.onPrepareCity(cityList,false,HistoricCityUtils.Type.start,inCity);
//				}
//			}
//		}).start();
//	}
//    /**
//     * 判断是否是城际城市
//     */
//    public static boolean isCJAdd(Context context,Cities mCities){
//    	boolean isAdd = true;// 判断是否添加,市内都不加
//		ArrayList<To_Cities> to_citylist = getToCity(
//				context,
//				mCities.getCn_Name(),
//				(mCities.getIs_city() != null && mCities.getIs_city()
//						.equals(Value.CITY_INCITY)));
//		if (to_citylist != null && to_citylist.size() <= 1) {
//			// 只有1个的时候，不能为市内，却不能为隐藏
//			if (to_citylist.size() == 1
//					&& to_citylist.get(0).getIs_incity()
//							.equals(Value.CITY_INCITY)) {
//				isAdd = false;
//			} else if (to_citylist.size() == 1
//					&& to_citylist.get(0).getIsShow()
//							.equals(Value.CITY_NOSHOW)) {
//				isAdd = false;
//			} else if (to_citylist.size() == 0) {
//				isAdd = false;
//			}
//		} else {
//			// 判断所有的子类,如果有一项没有隐藏，则显示
//			if (to_citylist != null) {
//				for (int z = 0; z < to_citylist.size(); z++) {
//					if (to_citylist.get(z).getIsShow()
//							.equals(Value.CITY_SHOW)) {
//						isAdd = true;
//						break;
//					} else if (z == to_citylist.size() - 1) {
//						isAdd = false;
//					}
//				}
//			}
//		}
//		if (mCities.getIs_city() != null
//				&& mCities.getIs_city()
//						.equals(Value.CITY_INCITY)) {
//			isAdd = false;
//		}
//		return isAdd;
//
//    }
//	/**
//	 * 设置可去的城市列表
//	 */
//	public static ArrayList<To_Cities> setToCityList(final Context context,
//			final String cityname,boolean iscity) {
//		List<City> cityList = new ArrayList<City>();
//		MyApplication.isCityListComplite = false;
//		cityList.clear();
//		ArrayList<To_Cities> to_citylist = ToCity.getToCity(context, cityname,
//				iscity);
//		ArrayList<To_Cities> return_to_citylist = new ArrayList<To_Cities>();
//		if (to_citylist != null && !to_citylist.isEmpty()) {
//			for (int i = 0; i < to_citylist.size(); i++) {
//				if (to_citylist.get(i).getIs_incity() != null) {
//					if (to_citylist.get(i).getIs_incity()
//							.equals(Value.CITY_NOINCITY)
//							&& to_citylist.get(i).getIsShow()
//									.equals(Value.CITY_SHOW)) {
//						return_to_citylist.add(to_citylist.get(i));
//						City city = new City();
//						city.setCity(to_citylist.get(i).getCn_Name());
//						city.setProvince("");// 设置省份
//						city.setNumber("");//
//						city.setAllPY(to_citylist.get(i).getName());
//						city.setAllFristPY(Cn2Spell.getInstance().onCn2Spell(
//								to_citylist.get(i).getCn_Name()));
//						if (to_citylist.get(i).getName() != null)
//							city.setFirstPY(Cn2Spell.getInstance()
//									.onCn2Spell(to_citylist.get(i).getName())
//									.charAt(0)
//									+ "");
//						city.setIs_new(to_citylist.get(i).getIs_new());
//						city.setIs_detail(to_citylist.get(i).getIs_detail());
//						city.setType(City.CityType.open);
//						cityList.add(city);
//					}
//				} else {
//					return_to_citylist.add(to_citylist.get(i));
//					City city = new City();
//					city.setCity(to_citylist.get(i).getCn_Name());
//					city.setProvince("");// 设置省份
//					city.setNumber("");//
//					city.setAllPY(to_citylist.get(i).getName());
//					city.setAllFristPY(Cn2Spell.getInstance().onCn2Spell(
//							to_citylist.get(i).getCn_Name()));
//					city.setFirstPY(Cn2Spell.getInstance()
//							.onCn2Spell(to_citylist.get(i).getCn_Name())
//							.charAt(0)
//							+ "");
//					city.setIs_new(to_citylist.get(i).getIs_new());
//					city.setIs_detail(to_citylist.get(i).getIs_detail());
//					city.setType(City.CityType.open);
//					cityList.add(city);
//				}
//			}
//			MyApplication mApplication = MyApplication.getInstance();
//			mApplication.onPrepareCity(cityList,false,HistoricCityUtils.Type.end,iscity);
//		}
//		return return_to_citylist;
//	}
//
//	/**
//	 * 根据地址获取城市
//	 */
//	public static String getCity(String address) {
//		String city;
//		if (address.contains(" ")) {
//			city = address.substring(0, address.indexOf(" "));
//		} else if (address.contains("\t")) {
//			city = address.substring(0, address.indexOf("\t"));
//		} else if (address.contains("-")) {
//			city = address.substring(0, address.indexOf("-"));
//		} else {
//			city = address;
//		}
//		return city;
//	}
//
//	/**
//	 * 获取城市的名字，去掉市，区，县。
//	 */
//	public static String getCityName(String city) {
//		if(city!=null&&!city.equals("")){
//			for(int i=0;i<ToCity.split.length;i++){
//				if((city.charAt(city.length()-1)+"").equals(ToCity.split[i])){
//					city=city.substring(0, city.length()-1);
//					break;
//				}
//			}
//		}
//		return city;
//	}
//
//	/**
//	 * 判断二级城市是否存在
//	 */
//	public static boolean isDistrictExist(Context context, String district,boolean isInCity) {
//		if (district == null)
//			return false;
//		boolean exist = false;
//		final LineDB db_line = new LineDB();
//		List<City> cityList = new ArrayList<City>();
//		List<Cities> citieslist=new ArrayList<Cities>();
//		 if(isInCity){
//			 citieslist.addAll(citieslist_SN);
//		 }else{
//			 citieslist.addAll(citieslist_CJ);
//		 }
//		if(citieslist==null||citieslist.isEmpty()){
//		    citieslist.addAll(db_line.readAllDB(isInCity));
//		    if(isInCity){
//		    	citieslist_SN=citieslist;
//		    }else{
//		    	citieslist_CJ=citieslist;
//		    }
//		}
//		if (citieslist != null && !citieslist.isEmpty()) {
//			district=getCityName(district.trim());
//			for (int i = 0; i < citieslist.size(); i++) {
//				String str_city = getCityName(citieslist.get(i).getCn_Name().trim());
//				if(district.equals(str_city)){
//					exist = true;
//					return exist;
//				}
//			}
//		}
//
//		return exist;
//
//	}
//
//	static List<City> allcity = new ArrayList<City>();
//	/**
//	 * 设置本地数据城市【市内的目的地在用】
//	 */
//	public static void setLocalCityList(final Context context) {
//		new AsyncTask<Void, Void, Void>(){
//
//			@Override
//			protected void onPreExecute() {
//				loadDialog=new LoadingDialog(context,Value.LOADDIALOGTIME);
//				allcity.clear();
//				mHandler.sendEmptyMessage(MSG_SHOW);
//				super.onPreExecute();
//			}
//
//			@Override
//			protected Void doInBackground(Void... params) {
//				String jsonStr = AppJsonFileReader.getJson(context,fileName);
//					LocalCity mLocalCity = (LocalCity) new JsonBuild().getData(LocalCity.class,
//							jsonStr);
//					ArrayList<AllCityList> allcityList=mLocalCity.getAllCityList();
//					for(int i=0;i<allcityList.size();i++){
//						ArrayList<CityList> cityList=allcityList.get(i).getCityList();
//						//有子城市
//						if(cityList!=null&&cityList.size()>0){
//							for(int num=0;num<cityList.size();num++){
//								String name=cityList.get(num).getName();
//								String province=allcityList.get(i).getName();
//								String allpy=cityList.get(num).getPinyin();
//								String AllFristPY=cityList.get(num).getShortPinyin();
//								String firstPY=AllFristPY.length()>=1?AllFristPY.charAt(0)+"":"";
//								allcity.add(getCityInfo(name, province, allpy, AllFristPY, firstPY));
//							}
//						}
//						//没有子城市，则是直辖市那些
//						else{
//							String name=allcityList.get(i).getName();
//							String province=allcityList.get(i).getName();
//							String allpy=allcityList.get(i).getPinyin();
//							String AllFristPY=allcityList.get(i).getShortPinyin();
//							String firstPY=AllFristPY.length()>=1?AllFristPY.charAt(0)+"":"";
//							allcity.add(getCityInfo(name, province, allpy, AllFristPY, firstPY));
//						}
//
//					}
//				return null;
//			}
//
//			@Override
//			protected void onPostExecute(Void result) {
//				MyApplication mApplication = MyApplication.getInstance();
//				mApplication.onPrepareCity(allcity,true,HistoricCityUtils.Type.end,true);
//				mHandler.sendEmptyMessage(MSG_DISSIOM);
//				super.onPostExecute(result);
//			}
//
//			}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
//
//
//	}
//	/**设置城市信息
//	 * @param cityname，城市名字
//	 * @param province，城市省份
//	 * @param allpy，城市全拼
//	 * @param AllFristPY，城市的缩写，也就是各个字的首拼
//	 * @param firstPY，城市的首拼
//	 */
//	public static City getCityInfo(String cityname,String province,String allpy,String AllFristPY,String firstPY){
//		City city = new City();
//		city.setCity(cityname);
//		city.setProvince(province);// 设置省份
//		city.setNumber("");//
//		city.setAllPY(allpy);
//		city.setAllFristPY(AllFristPY);
//		city.setFirstPY(firstPY);
//		return city;
//	}
//	/**
//	 *判断是否含有该市内城市
//	 */
//	public static boolean isInCityContains(String city){
//		List<Cities> list_incity_cn =getInCityList();
//		MyApplication mApplication = MyApplication.getInstance();
//		city = ToCity.getCityName(city);
//		if (list_incity_cn != null && !list_incity_cn.isEmpty()) {
//			for (int i = 0; i < list_incity_cn.size(); i++) {
//				String city2 = list_incity_cn.get(i).getCn_Name().trim();
//				city2 = ToCity.getCityName(city2);
//				if (city2.equals(city)) {
//					return true;
//				}
//			}
//
//		}
//		return false;
//	}
//	/**
//	 * 判断[市内]当前定位是否开启市内获取城市。。
//	 */
//	public static boolean isCityInformation(String city,boolean isInCity) {
//		MyApplication mApplication = MyApplication.getInstance();
//		boolean isExist = false;
//		if (isInCityContains(city)) {
//			city = ToCity.getCityName(city);
//			String location_city =isInCity? mApplication.loctionSnCity:mApplication.loctionCity;
//			location_city = ToCity.getCityName(location_city);
//			if (city.equals(location_city)) {
//				isExist = true;
//			}
//		} else {
//			if (isInCity) {
//				isExist = false;
//			} else {
//				isExist = true;
//			}
//
//		}
//		return isExist;
//	}
//	/**
//	 * 获取市内的城市列表
//	 */
//	public static List<Cities> getInCityList(){
//		LineDB db_line = new LineDB();
//		ArrayList<Cities> list_incity_cn = new ArrayList<Cities>();
//		list_incity_cn.addAll(ToCity.citieslist_SN);
//		if(list_incity_cn==null||list_incity_cn.isEmpty()){
//			list_incity_cn.addAll(db_line.readAllDB(true));
//		}
//		return list_incity_cn;
//	}
//	//mContext.getMainLooper()防止在线程调用会闪退
//	 	public static Handler mHandler=new Handler(MyApplication.getInstance().getApplicationContext().getMainLooper()){
//			public void handleMessage(android.os.Message msg) {
//				 super.handleMessage(msg);
//				switch(msg.what){
//				case MSG_SHOW:
//					if(loadDialog!=null&&!loadDialog.isShowing()){
//						loadDialog.dismiss();
//					}
//					break;
//				case MSG_DISSIOM:
//					if(loadDialog!=null){
//						loadDialog.dismiss();
//					}
//					break;
//				}
//			};
//		};
//}
